home *** CD-ROM | disk | FTP | other *** search
/ Floppyshop 2 / Floppyshop - 2.zip / Floppyshop - 2.iso / diskmags / 0022-3.564 / dmg-3446 / text / minix.txt < prev    next >
Text File  |  1991-08-30  |  9KB  |  168 lines

  1.    
  2.     
  3. /Gateways/Usenet/comp/sys/atari/st/atari ST
  4. 1073.3.4404.7 Atari ST Minix - first impressions
  5. 10/21/88 17:28 bammi@dsrgsun.ces.CWRU.edu (Jwahar R. Bammi)
  6. Lines 1 to 13 of 156 (8%)
  7. -----
  8. A quick review of ST Minix (v 1.2 i guess):
  9.  
  10. Publisher:   Prentice Hall
  11. Order #:     0-13-584391
  12. Manual ISBN: 0-13-584434-7
  13. Price (US) : $79.95 + shipping
  14. Authors    : Andrew Tanenbaum  Johan Stevenson  Jost Muller
  15.  
  16. Distribution: 9 single sided 3 1/2" floppies + 70 page manual. The
  17. OS book by Andrew Tanenbaum is not included in the above package.
  18. If you are knowledgable about Unix, the book is not required to run/use
  19. Minix, but in my opinion even if you are, the book is still very worth
  20. buying. Highly recommended reading.
  21.  
  22. Hardware Required: Minix will run on almost any ST/MegaST
  23. configuration.  Single/Double sided floppies, hard disk (you need a
  24. atari sh204/212 hard disk, more on this later).  The console driver
  25. supports both mono (25 and 50 lines) and color monitors. There is
  26. support for various national keyboard types (via an utility). As
  27. distributed, it is configured for a minimal ST (1 single sided drive,
  28. 512K memory, any monitor). There is adequate documentation in the
  29. manual on how to reconfigure for the various hardware configurations.
  30. The built in clock on the megaSt is supported.
  31.  
  32. Software Supplied: Comes with complete source and binaries as
  33. described in the Minix book. Also included is a C compiler, libraries
  34. etc. The source for the C compiler is not included, the library source
  35. is all there.  Left as an excercise for the reader are drivers for the
  36. serial port, midi, and cart. ports. The distribution includes drivers
  37. for floppy, hard disk, keyboard, screen and printer, all with source. I
  38. have begun writing a serial driver, and it looks like its going to be
  39. do-able.
  40.  
  41. Installation: The instructions in the manual are more than adequate to
  42. install Minix on any configuration. The installation went very
  43. smoothly on all the configurations i tried. One small point in the
  44. installation instructions. The instructions seem to use the word
  45. `sector' to mean `block' when referring to the third parameter of
  46. `mkfs' in the instructions for setting up hard disks. The useage is
  47. correct for floppies, but not hard disks in my mind. This caused me a
  48. little grief because i was not thinking and blindly following the
  49. instructions, but no big deal.
  50.  
  51. Experience: For some of us old hands from the PDP V6/V7 era, this is
  52. almost like deja vu. It smells like, it feels like a Pdp v6/v7 unix
  53. system but with the additional benefit of having a large linear address
  54. space thrown in. Minix will use as much memory as you have. The root
  55. file system is loaded into ram disk (which thereafter becomes the root
  56. partition) from floppy/hard disk on startup. The size of the ram disk
  57. is determined by the size of the partition it is initialized from, so
  58. its totally flexible.  The minimum size is around 140K, a very
  59. workable size i have found to be 256K, and if you have the luxury of
  60. globs of memory, you can make it as large as you want. The hard disk
  61. support allows you to use any partition(s) on any drive(s) for minix
  62. file system(s), so it co-exists with TOS partitions quite nicely. The
  63. hard disk driver supports multiple drives too. Utilities are provided
  64. to read/write/list directories from/to TOS partitions on hard disks or
  65. a floppy. The differences between the Ibm Pc and ST versions are
  66. adequately documented. There is an interesting chapter in the manual
  67. about the ST implementation, especially the bit about implementing
  68. fork()/exec() semantics on a 68K. There is also adequate documentation
  69. in the manual for recompiling Minix itself on various hardware
  70. configurations and also on recompiling the stuff using the Alcyon
  71. compiler. The only place where the documentation is really weak is on
  72. details of the C compiler, libraries and associated utilities. Except
  73. for the C compiler details, i will not complain too strongly because
  74. the source for the libraries and associated utilities are in the
  75. distribution, and i have a unix system right next to the St to do a
  76. man anytime i want. The C compiler seems to be quite stable, though
  77. the code produced is nothing to write home about. My biggest gripe
  78. would be that it uses 6 passes to produce an executable (cpp/parser,
  79. optimizer, code generator, assembler, linker and load format
  80. converter). An interesting project would be to combine atleast the
  81. linker and the converter, and maybe the optimizer and the code gen.
  82. Unfortunately the sources for these are not supplied. Performance
  83. wise, Minix is no speed daemon, nor is it intended to be. But the
  84. source is "with you", and that leads to some interesting
  85. possibilities...  (i wish i did'nt have a thesis to do :-)
  86.  
  87. More experience: In my way of looking at things, to really get some
  88. experience, you got to roll up the sleeves and get your fingers dirty.
  89. So i set out to port MicroGnuEmacs (mg V2a). I am happy to report that
  90. it is up and running under Minix, with all the facilities like Dired,
  91. regex, forking shell etc etc. I also went into the Minix archives at
  92. bugs.nosc.mil and pulled down some upgrades and utilities. So far i
  93. have the following:
  94.  
  95. df/mount/umount - enhanced to store the state in /etc/mtab,
  96.           df reports bsd style sizes in K bytes or
  97.           the traditional i-node style
  98.  ed  - i had to have this to start  me up, mined
  99.        was driving me up the wall. Now that mg2a is
  100.        up i don'nt really need it.
  101.  ls  - enhanced ls, does columns, puts * and /'s etc
  102.  make- pd make (from the same original source as the
  103.        TOS make that we posted the diffs for). The
  104.        supplied Make is a little strange.
  105.  mg  - MicroGnu emacs V2a
  106.  more- enhanced more (pager)
  107.  sh  - the sh as distributed by ast for v1.3 of minix
  108.  
  109. Be my guest and grab any of this stuff via anonymous FTP from
  110. dsrgsun.ces.cwru.edu (129.22.16.2) from the directory ~ftp/pub/minix.
  111. A note about the Mg port: I have'nt worked in the keybinding stuff for
  112. special keys (function, arrows) as yet, but i will be doing so. So you
  113. may or may not want to grab Mg just yet.
  114.  
  115. More on Hard Disks:
  116. The supplied hard disk driver works fine with an atari SH204/212 hard
  117. disk and the atari supplied HDX. I also tried with a Supra 20M. It almost
  118. works, "close but no cigar". It gets some DMA interrupt which it does'nt
  119. like, and it even manages to do a mkfs, copy files etc, but you keep
  120. getting spurious interrupt messages, and finally the kernel panics -
  121. el crashola. So quite obviously only a small fix is need somewhere in
  122. the hard disk driver code, and since Supra also supplies the source to
  123. its Dma functions, it seems like it should be do-able to put 2 and 2
  124. together.
  125.  
  126. A few random notes:
  127.  - always #define ATARI_ST when including stuff from the system
  128.    include directory, otherwise it leads to errors.
  129.  - use chmem on cem and cv for even medium size progs.
  130.  - the document suggests that you create a 512K ram disk on a 
  131.    1 Meg ST. This is nice because you have a large /tmp and also
  132.    have space to shove a few passes on the C compiler into /lib,
  133.    but it creates problems when you have say mg running from a
  134.    shell, and you try to fork(). The fork() fails always due to
  135.    lack of memory. I set up my root in a 256K ram disk, that gives
  136.    me enough space in /tmp to do most compiles. I only had to
  137.    cc -T/usr/tmp to link Mg.
  138.  - The docs say that minix will use hard disk partitions larger than
  139.    TOS's max of 16M. Using the atari HDX util, it will not let
  140.    you create partitions > 15.9M (why atari does this BS is
  141.    beyond me). Using the Supra utilities you can create
  142.    partitions > 16M, but for some reason (that i have'nt looked
  143.    into as yet) mkfs fails when you specify > 16K blocks (or it
  144.    could very well be that i did something wrong). Everything
  145.    works just fine for partitions < 16M (even with the Supra utils).
  146.  - I am having the hardest time trying to make a chmem'ed cem to
  147.    run from Make. I guess the work around is to exec cc or maybe
  148.    the passes themselves instead of doing a exec sh -c.
  149.  
  150. Coming up:
  151.  - Fix up Mg fully (special key support)
  152.  - serial driver
  153.  - i am working on Prabhaker to bring up Gulam. Send him fan mail!!
  154.  
  155. I guess thats it for now, after about a day and a half with minix.
  156.  
  157.  Congratulations are certainly in order to the authors.
  158.    THANK YOU ast, johan and jost.
  159. -- 
  160. usenet: {decvax,sun}!cwjcc!bammi        jwahar r. bammi
  161. csnet:       bammi@dsrgsun.ces.CWRU.edu
  162. arpa:        bammi@dsrgsun.ces.CWRU.edu
  163. compuServe:  71515,155
  164.    
  165.                         ++++++< * >++++++
  166.  
  167.    
  168.